﻿#define  _CRT_SECURE_NO_WARNINGS 1 

#include<stdio.h>

////常规定义方法
//int main()
//{
//	int a = 0, b = 0;
//	scanf("%d %d", &a, &b);//输入所求的两个对象
//	int i = 0;
//	int min = (a < b)? a : b;//求出两数的较小值，最大公约数不能超过两者中的较小值
//	int ssr = 0;//用来存放最大的公约数
//	for (i = 1; i <= min; i++)//注意！！这里i要从1开始，从0开始会报错
//	{
//		if (a % i == 0 && b % i == 0)//从0开始遍历
//		{
//			ssr = i;
//		}
//	}
//	printf("两数的最大公约数为：%d\n", ssr);
//	printf("\n别忘了点赞三连支持欧o(>ω< )o！！!\n");
//	printf("(深情)\n");
//	return 0;
//}

////常规定义方法plus
//int main()
//{
//	int a = 0, b = 0;
//	scanf("%d %d", &a, &b);//输入所求的两个对象
//	int i = 0;
//	int min = (a < b) ? a : b;//求出两数的较小值，最大公约数不能超过两者中的较小值
//	int ssr = 0;//用来存放最大的公约数
//	for (i = min; i > 0; i--)//注意！！这里i必须大于，取i=0时会报错（你也不想让数学老师知道你在用0除别的数吧XD）
//	{
//		if (a % i == 0 && b % i == 0)//从大到小开始遍历
//		{
//			ssr = i;
//			break;
//		}
//	}
//	printf("两数的最大公约数为：%d\n", ssr);
//	printf("\n别忘了点赞三连支持欧o(>ω< )o！！!\n");
//	printf("(深情)\n");
//	return 0;
//}


//辗转相除法！
int main()
{
	int a = 0, ssr = 0;//ssr是保存最大公约数的变量
	scanf("%d %d", &a, &ssr);
	int i = 0;
	while (i = a % ssr)//当i等于0时，也就是余数为0时循环结束
	{
		a = ssr;
		ssr = i;
	}
	if(ssr != 0)//要考虑除1外没有公约数的情况，如果只有1的话ssr中就是0，输出时应输出1
		printf("两数的最大公约数为：%d\n", ssr);
	else
		printf("两数的最大公约数为：1\n");
	printf("\n别忘了点赞三连支持欧o(>ω< )o！！!\n");
	printf("(深情)\n");

	return 0;
}